package com.lyf.network.learn.bionio;

import java.io.*;
import java.net.ServerSocket;
import java.net.Socket;
import java.nio.charset.StandardCharsets;

//http://localhost:8888/Advanced/src/Net/BSTCP/web/index.html HTTP/1.1
//不能应用https，加密协议
public class Server {
    public static void main(String[] args) throws IOException {
        System.out.println("服务端启动，期待连贯。。。。");
        //创立一个服务器ServerSocket,和零碎要指定的端口号
        ServerSocket server = new ServerSocket(8888);
        //应用accept办法获取到申请的客户端对象(浏览器)
        Socket socket = server.accept();
        //应用Socket对象中的办法getInputStream,获取到网络字节输出流InputStream对象
        //InputStream is = socket.getInputStream();

        //输入客户端的申请
        /*byte[] bytes = new byte[1024];
        int len = is.read(bytes);
        System.out.println(new String(bytes,0,len));
        System.out.println("cao");*/

        //把is字节流，转换成字符流，并且应用缓冲流读取
//        BufferedReader br = new BufferedReader(new InputStreamReader(is));
//
//        //读取第一行GET申请的内容
//        String s = br.readLine();
//        //按空格把它离开
//        String[] s1 = s.split(" ");
//        //把后面的"/"给排除，应用字符串的截取
//        String path = s1[1].substring(1);
//        System.out.println(path);

        //创立一个fis流，读取本地的index.html文件
       // FileInputStream fis = new FileInputStream(path);
        //获取网络输入流OutputStream，向客户端输入页面
        OutputStream os = socket.getOutputStream();

        // 写入HTTP协定响应头,固定写法
        os.write("HTTP/1.1 200 OK\r\n".getBytes());
        os.write("Content‐Type:text/html\r\n".getBytes());
        // 必须要写入空行,否则浏览器不解析
        os.write("\r\n".getBytes());

        //向客户端输入
//        byte bytes[] = new byte[1024];
//        int len = 0;
//        while((len = fis.read(bytes))!=-1){
//            os.write(bytes);
//        }
        os.write("hello".getBytes(StandardCharsets.UTF_8));
        //敞开资源
        //fis.close();
       // br.close();
        socket.close();

    }
}